package cn.glinks.liuhe.api.parser;

import com.google.gson.stream.JsonReader;

import java.io.StringReader;
import java.util.List;

import cn.glinks.liuhe.model.Question;

/**
 * MOBU通信协议解析器
 *
 * @author MarsBlade of Cyh
 * @created 2017-03-03 12:30
 */

public class GlkProtocolParser {

    /**
     * 解析ApiService.getSmscode的响应字段
     *
     * @param msg String
     * @return String
     */
    public static String parseGetSmscode(String msg) {
        return msg;
    }

    /**
     * 解析ApiService.getQuestions的响应字段
     *
     * @param msg  String
     * @param list List<Question>
     * @return boolean
     */
    public static boolean parseGetQuestions(String msg, List<Question> list) {
        JsonReader jr = new JsonReader(new StringReader(msg));
        try {
            jr.beginArray();
            while (jr.hasNext()) {
                // 解析每个问题
                jr.beginArray();
                Question qst = new Question();
                if (jr.hasNext()) {
                    // 设置题目序号
                    qst.index = jr.nextInt();
                    qst.indexStr = String.format("%03d", (qst.index+1));
                }
                if (jr.hasNext()) {
                    // 设置题目内容
                    qst.content = jr.nextString();
                }
                // 添加到题目列表
                list.add(qst);
                jr.endArray();
            }
            jr.endArray();
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }

        return true;
    }

}


